package com.doubao.user.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doubao.user.entity.UserDailyToken;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 用户每日token使用记录Mapper接口
 */
@Mapper
public interface UserDailyTokenMapper extends BaseMapper<UserDailyToken> {

    /**
     * 增加用户当日输入tokens
     *
     * @param userId 用户ID
     * @param date   日期
     * @param tokens token数量
     * @return 影响行数
     */
    int increasePromptTokens(@Param("userId") Long userId, @Param("date") String date, @Param("tokens") Integer tokens);

    /**
     * 增加用户当日输出tokens
     *
     * @param userId 用户ID
     * @param date   日期
     * @param tokens token数量
     * @return 影响行数
     */
    int increaseCompletionTokens(@Param("userId") Long userId, @Param("date") String date, @Param("tokens") Integer tokens);

    /**
     * 更新用户当日token限制
     *
     * @param userId 用户ID
     * @param date   日期
     * @param limit  token限制
     * @return 影响行数
     */
    int updateTokenLimit(@Param("userId") Long userId, @Param("date") String date, @Param("limit") Integer limit);
}